2장. 미적분
AI 엔지니어링 선수지식 — 2장. 대상: 고등학생·학부 1년차.
2. 미적분
AI 가 학습한다는 건 "지금 틀린 답을 조금씩 고쳐 정답에 가까워지기" 입니다. 그 "조금씩 어느 방향으로" 를 알려주는 것이 미분이며, 신경망 학습의 심장입니다.
2.1 미분 (Derivative)
어떤 값이 순간적으로 얼마나 빨리 변하는가, 즉 기울기입니다.
비유 1 — 자동차 속도계. 1시간에 60km 가면 평균 속도는 60이지만, 지금 이 순간 속도계 바늘이 가리키는 값이 미분입니다.
비유 2 — 언덕 경사. 등산로의 지금 발 밑 경사가 미분입니다. 가파르면 미분이 크고, 평평하면 0입니다.
직접 해보기 —
y = x²의 미분은 2x 입니다(지수를 앞으로, 지수는 -1). x=3 이면 2×3 = 6, 즉 "x=3 근처에서 x가 1 늘면 y는 약 6 늘어난다" 는 뜻입니다.
def f(x): return x**2
x, h = 3.0, 1e-5
print(round((f(x+h) - f(x)) / h, 2)) # 6.0
실무. 모든 딥러닝 프레임워크가 미분을 자동 계산(autograd)해 "어느 방향으로 고쳐야 덜 틀리나" 를 찾습니다.
LLM 연결. 학습은 틀린 정도(loss)를 미분해 덜 틀리는 방향으로 가중치를 수정하는 일입니다. 미분 없이는 학습이 불가능합니다.
더 깊이 — 3Blue1Brown 미분편
2.2 편미분·그래디언트 (Gradient)
변수가 여러 개일 때 하나씩 따로 미분한 것이 편미분, 그걸 다 모은 화살표가 그래디언트입니다.
비유 — 등산 지도의 화살표. 산에서 가장 가파른 오르막 방향을 가리키는 화살표가 그래디언트입니다. 반대로 가면 가장 빨리 골짜기(정답)에 도착하죠.
직접 해보기 —
z = x² + y²의 그래디언트는[2x, 2y]입니다. (x=1, y=2)면[2, 4]죠.
import torch
x = torch.tensor(1.0, requires_grad=True)
y = torch.tensor(2.0, requires_grad=True)
(x**2 + y**2).backward()
print(x.grad, y.grad) # tensor(2.) tensor(4.)
실무. "그래디언트가 폭발/소실된다" 는 딥러닝 디버깅 단골 용어로, 학습이 안 될 때 가장 먼저 의심하는 부분입니다.
LLM 연결. 수십억 개 가중치 각각의 그래디언트를 구해 전부 동시에 조금씩 수정하는 것이 "학습 1 step" 입니다.
더 깊이 — Khan Academy: Gradient
2.3 체인룰 (Chain Rule)
함수 안에 함수가 있을 때(합성함수) 미분을 사슬처럼 곱해서 구하는 법입니다.
비유 — 도미노. A가 B를 밀고 B가 C를 밀면, "A가 C에 주는 영향" 은 (A→B 영향) × (B→C 영향)입니다. 미분도 똑같이 곱해서 거슬러 올라갑니다.
직접 해보기 —
y = (3x+1)²의 미분은 바깥(제곱) 미분 2(3x+1) 과 안쪽(3x+1) 미분 3 을 곱한 6(3x+1) 입니다.
x = torch.tensor(2.0, requires_grad=True)
y = (3*x + 1)**2
y.backward()
print(x.grad) # tensor(42.) = 6×(3×2+1)
실무. 역전파(Backpropagation)가 곧 체인룰입니다. 깊은 신경망의 마지막 층 오차를 첫 층까지 거슬러 전달하는 것이 전부 체인룰 곱셈입니다.
LLM 연결. Transformer 가 수십 층 깊어도 학습되는 이유는 체인룰로 오차를 끝까지 전달하기 때문입니다(EP4·EP7).
더 깊이 — 3Blue1Brown 체인룰편
2.4 경사하강법 (Gradient Descent)
그래디언트 반대 방향으로 조금씩 내려가 가장 낮은 골짜기(최소 오차)를 찾는 방법입니다.
비유 — 안개 속 하산. 짙은 안개로 앞이 안 보일 때, 발 밑 경사만 느끼며 가장 가파른 내리막으로 한 걸음씩 내려가면 결국 골짜기에 도착합니다.
직접 해보기 —
f(x)=x², x=3, 학습률 0.1 이면, 기울기 2×3=6 이므로 새 x = 3 − 0.1×6 = 2.4. 이를 반복하면 x 는 0(최소점)으로 수렴합니다.
x, lr = 3.0, 0.1
for _ in range(20):
x = x - lr * (2*x)
print(round(x, 3)) # 0.026 (거의 0)
실무. SGD, Adam 등 옵티마이저가 전부 경사하강 변형이며, "학습률 튜닝" 이 AI 엔지니어의 일상입니다.
LLM 연결. 모델 학습은 loss 골짜기를 경사하강으로 내려가는 일입니다. 학습률이 너무 크면 골짜기를 건너뛰고, 너무 작으면 영원히 도착하지 못합니다.
더 깊이 — 3Blue1Brown 신경망 학습편
2.5 정리
| 개념 | LLM 에서의 역할 |
|---|---|
| 미분 | 가중치를 어느 방향 수정할지 |
| 그래디언트 | 모든 가중치의 수정 방향 묶음 |
| 체인룰 | 역전파 (깊은 층까지 오차 전달) |
| 경사하강 | 실제 학습 알고리즘 (Adam 등) |
한 문장으로, AI 학습은 틀린 정도를 미분(그래디언트)해서 체인룰로 끝까지 전달하고 경사하강으로 조금씩 고치는 반복입니다.
참고 자료 — 3Blue1Brown Essence of Calculus · Khan Academy Calculus
클릭하거나 Space를 눌러 뒤집기